[update] AWS Elemental MediaLiveで管理ポリシーMediaLiveReadOnlyPolicyが利用可能になっています
はじめに
清水です。AWS Media Servicesの細かなアップデートを押さえておこうのコーナー、本エントリではAWS Elemental MediaLiveでAWS管理ポリシー「MediaLiveReadOnlyPolicy」が利用可能になった(更新された)アップデートについてお届けします。2024/07/30の時点でAWS What's Newへの投稿はありませんが、MediaLive User GuideのDocument historyに2023/07/23付けでの更新が記載されています。
本エントリではこのAWS管理ポリシー「MediaLiveReadOnlyPolicy」について詳細を確認しつつ、ほかAWS Media ServicesのReadOnlyなAWS管理ポリシーについても確認してみたのでまとめてみたいと思います。
User GuideからAWS管理ポリシー「MediaLiveReadOnlyPolicy」について確認してみた
まずはDocument historyのChangeの項目、「AWS managed policy - New policy」のリンク先について確認してみましょう。「AWS managed policies for AWS Elemental MediaLive」というページに遷移しますね。なおこのページ(項目)自体、今回のUser Guideの更新に合わせて新設されているようです。
内容としては、AWS管理ポリシーの前提として、ほかサービスでも使われている一般的な事項が記載されています。
引用元: AWS managed policies for AWS Elemental MediaLive - MediaLive
ページ後半には、本題の「MediaLiveReadOnlyPolicy」のポリシー内容が記載されています。またAWS管理ポリシーについてのアップデート情報についてもまとめられています。今後はこのページにて、MediaLiveのAWS管理ポリシーのアップデートがまとめられるようですね、嬉しい!
引用元: AWS managed policies for AWS Elemental MediaLive - MediaLive
上記User Guideより「MediaLiveReadOnlyPolicy」のポリシー内容について引用します。その名称のとおり、medialive:Get*
、medialive:List*
、medialive:Describe*
と読み取り系のActionについて許可するポリシー内容となっていますね。MediaLiveのリソースの読み取りのみを許可したい場合はこちらのポリシーを適用することで設定が行えます。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AWSElementalMediaLiveReadOnly",
"Effect": "Allow",
"Action": [
"medialive:Get*",
"medialive:List*",
"medialive:Describe*"
],
"Resource": "*"
}
]
}
AWSマネジメントコンソールから「MediaLiveReadOnlyPolicy」について確認してみた
AWSマネジメントコンソールからもこのAWS管理ポリシー「MediaLiveReadOnlyPolicy」について確認してみましょう。IAMのページを開き、アクセス管理 > ポリシーと進みます。medialive
で検索するとAWS管理ポリシーとしてAWSElementalMediaLiveFullAccess
とAWSElementalMediaLiveReadOnly
の2つが一致しました。今回のアップデート対象である「MediaLiveReadOnlyPolicy」はAWSElementalMediaLiveReadOnly
のポリシーを示している認識です。こちらについて詳細を確認してみましょう。
許可内容は先ほど確認したUser Guideの内容と同一ですね。興味深いのは作成時刻がJuly 09, 2020, 01:38 (UTC+09:00)、編集時刻がJuly 23, 2024, 02:08 (UTC+09:00)という点です。ポリシーのバージョンも (2) となっていますね。こちらの詳細を確認してみます。
User Guide中では2024/07/23付けで「MediaLiveReadOnlyPolicy」が作成された、ということでしたが、実は以前(2020年)からこのポリシー自体はあったようですね。ただ今回のUser Guide記載にあわせて内容が更新されているようです。それぞれのバージョンの違いについても確認してみましょう。
以下、マネジメントコンソールのポリシー内容をコピーしたものです。2024/07/23付けで更新されたポリシーについて、以前のバージョン1から"medialive:Get*",
のActionについての権限が追加されていることが確認できますね。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AWSElementalMediaLiveReadOnly",
"Effect": "Allow",
"Action": [
"medialive:Get*",
"medialive:List*",
"medialive:Describe*"
],
"Resource": "*"
}
]
}
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": [
"medialive:List*",
"medialive:Describe*"
],
"Resource": "*"
}
}
この"medialive:Get*",
のAction、どんなものが該当するのでしょうか。以下ページからGet
ではじまるMediaLiveのActionを確認してみましょう。
- Actions, resources, and condition keys for AWS Elemental MediaLive - Service Authorization Reference
いずれも2024/04にリリースされた新機能「Workflow monitor」関連のActionであることがわかりますね。
- GetCloudWatchAlarmTemplate
- Grants permission to get a cloudwatch alarm template
- GetCloudWatchAlarmTemplateGroup
- Grants permission to get a cloudwatch alarm template group
- GetEventBridgeRuleTemplate
- Grants permission to get a eventbridge rule template
- GetEventBridgeRuleTemplateGroup
- Grants permission to get a eventbridge rule template group
- GetSignalMap
- Grants permission to get a signal map
従来までの(2020年に作成された)AWS管理ポリシーAWSElementalMediaLiveReadOnly
(バージョン1)ではこれらWorkflow monitor関連の読み取りActionをカバーしきれていなかったのが、今回のAWS管理ポリシーのアップデート(バージョン2)で対応した、ということになります。
ほかAWS Media ServicesのReadOnlyなAWS管理ポリシーについても確認してみた
AWS Elemental MediaLiveで利用可能になった(更新されていた)AWS管理ポリシーAWSElementalMediaLiveReadOnly
について確認してきました。このMediaLive用ReadOnlyなAWS管理ポリシーを確認しつつ、ほかのAWS Media ServicesについてのReadOnlyな管理ポリシーの状況がどうだったか気になりました。以下、確認してみた内容をまとめます。なお、本エントリ内のAWS Media Servicesの定義については、以下ブログエントリと同じ6つのサービス群とします。(AWS Elemental Media Servicesと称されることもありますね。)
確認方法としては、MeidaLiveのときと同様にIAMのマネジメントコンソールにてサービス名称で検索していきます。
AWS Elemental MediaConnect
MediaConnectについては読み取り専用のAWS管理ポリシーはありませんでしたが、MediaConnectGatewayInstanceRolePolicy
とAWSMediaConnectServicePolicy
の2つのAWS管理ポリシーが存在していました。
これら管理ポリシーの詳細はMediaConnect User Guideに記載があります。MediaConnect Gateway用のインスタンスをMediaConnect Gatweayに登録するためのポリシーとサービスリンクポリシーですね。
なお、各サービスのサービスリンクポリシーについては利用状況にあわせてAWS側で自動で作成されるかと思います。よって本エントリでは以降、スクリーンショットなどで記載があっても説明等については省略します。
AWS Elemental MediaConvert
続いてMediaConvertです。MediaConvertについてはAWSElementalMediaConvertReadOnly
というリソース読み取り専用のAWS管理ポリシーのほか、AWSElementalMediaConvertFullAccess
というフル権限用のポリシーも準備されていました。なお、MediaConver User Guideを筆者が確認した限りでは、AWS管理ポリシーについてのページは現時点でありませんでした。
AWS Elemental MediaPackage
MediaPackageについてもリソース読み取り専用ならびにフル権限用のAWS管理ポリシーが存在します。MediaPackage v2用のポリシーがわかれている点が特徴的ですね。それぞれにReadOnlyとFullAccess用のポリシーがあります。
AWSElementalMediaPackageFullAccess
AWSElementalMediaPackageReadOnlyAccess
AWSElementalMediaPackageV2FullAccess
AWSElementalMediaPackageV2ReadOnlyAccess
なおMediaPackage VOD (v1)についてはActionでの指定がLive v1のmediapackage
ではなくmediapackage-vod
になる認識です。(User Guideのこちらの項目などにポリシー例が記載されています。)上記、AWSElementalMediaPackageReadOnly
ないしAWSElementalMediaPackageFullAccess
は現時点でLive v1のActionであるmediapackage
のみが対象となっており、VOD (v1)は非対応のようです。MediaPackage VOD (v1)については現時点で対応するAWS管理ポリシーが存在しないようですので、留意しておきましょう。
AWS Elemental MediaStore
MediaStoreについてもリソース読み取り専用のAWS管理ポリシーであるAWSElementalMediaStoreReadOnly
、またFullAccess用のポリシーであるAWSElementalMediaStoreFullAccess
が準備されています。
AWS Elemental MediaTailor
MediaTailorについてもリソース読み取り用のAWS管理ポリシーAWSElementalMediaTailorReadOnly
とフル権限用のAWSElementalMediaTailorFullAccess
が準備されています。
AWS Media ServicesのReadOnlyなAWS管理ポリシーのまとめ
AWS Elemental MediaLive以外の、AWS Elemental Media Servicesな5つのサービスについて読み取り専用のAWS管理ポリシーの有無について確認してきました。以下、MediaLiveも含めて表としてまとめてみます。
サービス | ReadOnly Policy | FullAccess Policy | 備考 |
---|---|---|---|
MediaConnect | なし | なし | |
MediaConvert | あり | あり | |
MediaLive | あり | あり | |
MediaPackage | あり | あり | v2は別扱い。VODはActionに含まれない |
MediaStore | あり | あり | |
MediaTailor | あり | あり |
MediaConnect以外はReadOnlyならびにFullAccessなAWS管理ポリシーが準備されていることがわかりますね。ですが先述のとおり、MediaPackageについてはv2用が別途準備されていること、またMediaPackage VODについてはAWS管理ポリシーが対応していない点に注意しましょう。
AWS管理ポリシー「ReadOnlyAccess」のAWS Media Services対応状況についても確認してみる
MediaLive用ReadOnlyなAWS管理ポリシーのアップデートから、その他AWS Media ServicesのReadOnlyなAWS管理ポリシーについて確認してきました。ところで、ReadOnlyなAWS管理ポリシーといえば、ReadOnlyAccess
ポリシーについても忘れてはいけません。
実は筆者は以前(もう5年ほど前ですが)、AWS管理ポリシーReadOnlyAccessでAWS Media Servicesのすべてのリソースを参照することができなかったことから、別途AWS Media Servicesの参照系アクションをまとめて、MediaServicesReadOnlyAccessなポリシーを作成してみたことがあります。
AWS Media Servicesのリリースから間もなく丸7年!2024年の現在、ReadOnlyAccess
ポリシーの対応状況はどうなっているでしょうか。なお、2019年の時点ではmediaconvert
とmediapackage
ぐらいしかReadOnlyAccess
に含まれていなかったようです。
AWSマネジメントコンソールからReadOnlyAccess
ポリシーについて確認してます。
「このポリシーで定義されている許可」の箇所より、media
ではじまるActionを抜き出してみました。バージョン116では1465行目から1530行目までが該当します。
"mediaconnect:DescribeFlow",
"mediaconnect:DescribeOffering",
"mediaconnect:DescribeReservation",
"mediaconnect:ListEntitlements",
"mediaconnect:ListFlows",
"mediaconnect:ListOfferings",
"mediaconnect:ListReservations",
"mediaconnect:ListTagsForResource",
"mediaconvert:DescribeEndpoints",
"mediaconvert:Get*",
"mediaconvert:List*",
"medialive:DescribeChannel",
"medialive:DescribeInput",
"medialive:DescribeInputDevice",
"medialive:DescribeInputDeviceThumbnail",
"medialive:DescribeInputSecurityGroup",
"medialive:DescribeMultiplex",
"medialive:DescribeMultiplexProgram",
"medialive:DescribeOffering",
"medialive:DescribeReservation",
"medialive:DescribeSchedule",
"medialive:GetCloudWatchAlarmTemplate",
"medialive:GetCloudWatchAlarmTemplateGroup",
"medialive:GetEventBridgeRuleTemplate",
"medialive:GetEventBridgeRuleTemplateGroup",
"medialive:GetSignalMap",
"medialive:ListChannels",
"medialive:ListCloudWatchAlarmTemplateGroups",
"medialive:ListCloudWatchAlarmTemplates",
"medialive:ListEventBridgeRuleTemplateGroups",
"medialive:ListEventBridgeRuleTemplates",
"medialive:ListInputDevices",
"medialive:ListInputDeviceTransfers",
"medialive:ListInputs",
"medialive:ListInputSecurityGroups",
"medialive:ListMultiplexes",
"medialive:ListMultiplexPrograms",
"medialive:ListOfferings",
"medialive:ListReservations",
"medialive:ListSignalMaps",
"medialive:ListTagsForResource",
"mediapackage-vod:Describe*",
"mediapackage-vod:List*",
"mediapackage:Describe*",
"mediapackage:List*",
"mediapackagev2:GetChannel",
"mediapackagev2:GetChannelGroup",
"mediapackagev2:GetChannelPolicy",
"mediapackagev2:GetHeadObject",
"mediapackagev2:GetObject",
"mediapackagev2:GetOriginEndpoint",
"mediapackagev2:GetOriginEndpointPolicy",
"mediapackagev2:ListChannelGroups",
"mediapackagev2:ListChannels",
"mediapackagev2:ListOriginEndpoints",
"mediapackagev2:ListTagsForResource",
"mediastore:DescribeContainer",
"mediastore:DescribeObject",
"mediastore:GetContainerPolicy",
"mediastore:GetCorsPolicy",
"mediastore:GetLifecyclePolicy",
"mediastore:GetMetricPolicy",
"mediastore:GetObject",
"mediastore:ListContainers",
"mediastore:ListItems",
"mediastore:ListTagsForResource",
2019年当時と異なり、各サービスはそれぞれ列挙されているようですね。今回の「MediaLiveReadOnlyPolicy」のアップデートであるWorkflow monitorまわりの権限も追加されています。MediaPackageについてはmediapackage-vod
のActionも含まれていますね。(なお、ポリシーのバージョンが膨大(116!)であるため、いつごろ追加されたかなど、過去履歴を深追いすることは諦めました。)
まとめ
AWS Elemental MediaLive User GuideのDocument historyに掲載されていた、「MediaLiveReadOnlyPolicy」の更新情報から、MediaLive用のReadOnlyなAWS管理ポリシーAWSElementalMediaLiveReadOnly
や、そのほかAWS Media Services向けのReadOnlyなAWS管理ポリシーの有無などについて調べてみました。またAWS管理ポリシーのReadOnlyAccess
おけるAWS Media Servicesの対応状況についても確認してみました。
2019年9月に自前でAWS Media Servicesの参照系アクションをまとめてMediaServicesReadOnlyAccessなポリシーを作成してみたときと異なり、各サービスのReadOnlyなAWS管理ポリシーが ほぼ 準備されていたり、ReadOnlyAccess
ポリシーにAWS Media Servicesの読み取り用Actionが多く含まれるようになっていたりと、2024年の現在、AWS管理ポリシーが充実して嬉しい限りです。基本的にはAWS管理ポリシーを使用しつつ、不足しているところを自前のポリシーで補うような使い方がベストかと思います。